package com.shijie.log.comparator;

import java.util.function.BiFunction;

/**
 * 字段对比顶层函数式接口
 * @param <T> 字段类型
 */
@FunctionalInterface
public interface FieldComparator<T> extends BiFunction<T, T, Boolean> {
    /**
     * 字段对比核心方法
     * @param oldVal 旧值
     * @param newVal 新值
     * @return true=值一致，false=值不一致
     */
    boolean compare(T oldVal, T newVal);

    // 适配BiFunction，兼容工具类函数式调用
    @Override
    default Boolean apply(T oldVal, T newVal) {
        return compare(oldVal, newVal);
    }
}